home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / (A)Z / (A)Z11.ADF / LOGO / LOGOSOURCE / main.c < prev    next >
C/C++ Source or Header  |  1987-07-26  |  2KB  |  99 lines

  1.  
  2. /*  This provides the outermost framework of LOGO, calling the parser to
  3.  *    begin with, and then thereafter whenever an interrupt or error occurs.
  4.  *    Copyright (C) 1979, The Children's Museum, Boston, Mass.
  5.  *    Written by Douglas B. Klunder.
  6.  */
  7.  
  8. #if 0
  9.  
  10.     Edit History:
  11.  
  12.         07/87 - Scott Evernden
  13.                 USENET:    seismo!harvard!m2c!applix!scott
  14.                 CIS:    73116,3451
  15.                 BIX:    s_evernden
  16.                 PLINK:    SCOTT E
  17.                 Found on Usenet; ported to Amiga.
  18.  
  19. #endif
  20.  
  21.  
  22. #include "logo.h"
  23.  
  24. #ifdef AMIGA
  25. extern long FindTask();
  26. #endif
  27.  
  28. char editfile[30];
  29. extern char *getbpt;
  30. #ifndef NOTURTLE
  31. extern int turtdes;
  32. extern struct display *mydpy;
  33. #endif
  34. #ifdef SETCURSOR
  35. #ifndef AMIGA
  36. #include <sgtty.h>
  37. struct sgttyb tty;
  38. #endif
  39. #endif
  40.  
  41. main(argc,argv)
  42. int argc;
  43. char *argv[];
  44. {
  45.     int i[2];
  46.     char tbuff[BUFSIZ];
  47.  
  48.     setbuf(stdout,tbuff);
  49. #ifdef AMIGA
  50.     amiga_start(argc, argv);
  51. #endif
  52.     time(i);
  53.     SRAND(i[1]+i[0]);
  54. #ifndef AMIGA
  55.     sprintf(editfile,"/tmp/logo%u",(short)getpid());
  56. #else
  57.     sprintf(editfile,"ram:logo%lx",FindTask((char *)NULL));
  58. #endif
  59. #ifdef SETCURSOR
  60. #ifndef AMIGA
  61.     gtty(1,&tty);
  62. #endif
  63. #endif
  64.     if (argc>1)
  65.         getbpt = argv[1];
  66.     else
  67.         printf("\nWelcome to Children's Museum/LSRHS LOGO\n?");
  68.     fflush(stdout);
  69.     while (enter()==1) {
  70.         yyprompt(1);
  71.     }
  72.     cboff();
  73.  
  74. #ifdef SETCURSOR
  75. #ifdef AMIGA
  76.     set_con();
  77. #else
  78.     stty(1,&tty);
  79. #endif
  80. #endif
  81.  
  82. #ifndef NOTURTLE
  83. #ifdef FLOOR
  84.     if (turtdes>0)
  85.         printf("Please\007 unplug the turtle\007 and put it\007 away.\n");
  86. #endif
  87.     if (turtdes<0) {
  88.         printf(mydpy->finish);
  89.         (*mydpy->outfn)();
  90.     }
  91. #endif
  92.     unlink(editfile);
  93.  
  94. #ifdef AMIGA
  95.     amiga_end();
  96. #endif
  97. }
  98.  
  99.